package com.bjsxt.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * description:
 * 用户传输类对象
 *
 * @author ALIENWARE <br />
 * @date 2021/7/12
 */
@ApiModel(value = "com-bjsxt-dto-SysUserDto/用户传输类对象")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SysUserDto {
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private Long id;

    /**
     * 账号
     */
    @ApiModelProperty(value = "账号")
    @NotBlank
    private String username;

    /**
     * 密码
     */
    @ApiModelProperty(value = "密码")
    @NotBlank
    private String password;

    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名")
    @NotBlank
    private String fullname;

    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号")
    @NotBlank
    private String mobile;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱")
    @NotBlank
    private String email;

    /**
     * 状态 0-无效； 1-有效；
     */
    @ApiModelProperty(value = "状态 0-无效； 1-有效；")
    private Byte status;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private Long createBy;

    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人")
    private Long modifyBy;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date created;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private Date lastUpdateTime;

    /**
     * 角色的 ids 字符串 , 分割
     */
    @ApiModelProperty(value = "角色的 ids 字符串 , 分割")
    @NotBlank
    @JsonProperty("role_strings")
    private String roleStrings;
}
